﻿using System.Collections.Generic;
using User.EF.Contracts;

namespace User.Web.Contracts.Model.Admin
{
    public interface IMemberListApiModel : IModelBase
    {
        /// <summary>
        /// Die aktuelle Mitarbeiterliste, hier werden nur die letzten 50 Member zurückgegeben
        /// </summary>
        List<IMemberModel> MemberList { get; set; }

        /// <summary>
        /// Die maximale Anzahl an Benutzern in der DB
        /// </summary>
        int MaxMemberCount { get; set; }

        /// <summary>
        /// Anzahl der Gefundenen Benutzer über den eingegebenen Filter.
        /// </summary>
        int FilterMemberCount { get; set; }

        /// <summary>
        /// Filtern unserer Memberliste mit Hilfe der Filtermodeldaten.
        /// </summary>
        /// <param name="webQuery"></param>
        /// <param name="filterModel"></param>
        void FilterMemberList(IWebQuerySummary webQuery, IMemberListFilterModel filterModel);
    }
}